package juego;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;



public class ArmaTorpedoSimple extends ArmaLimitada {
	
	//atributos de clase
	private static int miMunicionInicial = 10;
	
	//Constructor
	public ArmaTorpedoSimple(){
		
		super(miMunicionInicial);
	}

	@Override
	public Proyectil disparar(Coordenada lugar) throws ExcepcionMunicionAgotada {
		if (municion <= 0)
			throw new ExcepcionMunicionAgotada();
		
		municion --;
		Torpedo unTorpedoSimple= new Torpedo(lugar);
		return unTorpedoSimple;
	}
	
	public Element getElement(Document doc) {
		Element arma = doc.createElement("ArmaTorpedoSimple");

		Integer valorMunicion = new Integer(this.municion);
		Element municion = doc.createElement("Municion");
		arma.appendChild(municion);
		municion.setTextContent(valorMunicion.toString());
	
		return arma;
	}
	
	public static ArmaTorpedoSimple fromElement(Element element) {
		int valorMunicion = 0;
	
		NodeList childs = element.getChildNodes();
		for (int i = 0; i < childs.getLength(); i++) {
			Node child = childs.item(i);
			if (child.getNodeName().equals("Municion")) {
				valorMunicion = Integer.parseInt(child.getTextContent());
			}
		}
		ArmaTorpedoSimple arma = new ArmaTorpedoSimple();
		arma.municion = valorMunicion;
		return arma;
	}

}

